Platform Explorer / Nuxeo Platform 2023.14

Extension point schedule

Documentation

Extension allowing the registration of schedules. This is similar to a cron job sending events. Note that contrary to UNIX cron there is an additional "seconds" field in the cron expression.

A scheduler definition contains information about what event is sent, when, and under what identity.

For instance :

    <schedule id="mySchedule" jobFactoryClass="org.nuxeo.ecm.core.scheduler.DefaultEventJobFactory">
        <username>Administrator</username>
        <event>myEvent</event>
        <eventCategory>default</eventCategory>
        <!-- Every first of the month at 3am -->
        <cronExpression>0 0 3 1 * ?</cronExpression>
        <timezone>UTC</timezone>
    </schedule>

jobFactoryClass is optional and defaults to org.nuxeo.ecm.core.scheduler.DefaultEventJobFactory. timezone is optional and defaults to system default.

@see org.quartz.CronTrigger @see org.nuxeo.ecm.core.scheduler.EventJobFactory @see http://www.quartz-scheduler.org/docs/api/1.8.1/org/quartz/CronExpression.html @see http://www.quartz-scheduler.org/docs/tutorials/crontrigger.html

Aliases

  • org.nuxeo.ecm.platform.scheduler.core.service.SchedulerRegistryService--schedule

Contribution Descriptors

  • Class: org.nuxeo.ecm.core.scheduler.ScheduleImpl

Existing Contributions

Contributions are presented in the same order as the registration order on this extension point. This order is displayed before the contribution name, in brackets.

  • nuxeo-runtime-2023.14.23.jar /opt/nuxeo/server/nxserver/config/nxmail-scheduler-config.xml
    <extension point="schedule" target="org.nuxeo.ecm.platform.scheduler.core.service.SchedulerRegistryService">
    
        <schedule id="mailReceivedSchedule">
          <eventId>MailReceivedEvent</eventId>
          <eventCategory>default</eventCategory>
          <!-- every half hour of every day -->
          <cronExpression>0 0/30 * * * ?</cronExpression>
        </schedule>
    
      </extension>
  • nuxeo-coldstorage-2023.3.6.jar /OSGI-INF/coldstorage-events-contrib.xml
    <extension point="schedule" target="org.nuxeo.ecm.core.scheduler.SchedulerService">
        <schedule id="checkAvailabilityOfBlobsBeingRetrieved">
          <cronExpression>${nuxeo.coldstorage.check.retrieve.state.cronExpression}</cronExpression>
          <event>checkColdStorageContentAvailability</event>
        </schedule>
      </extension>
  • nuxeo-core-2023.14.23.jar /OSGI-INF/scheduler-contrib.xml
    <extension point="schedule" target="org.nuxeo.ecm.platform.scheduler.core.service.SchedulerRegistryService">
    
        <schedule id="aceScheduler">
          <eventId>updateACEStatus</eventId>
          <!-- every 5 mins -->
          <cronExpression>0 0/5 * * * ?</cronExpression>
        </schedule>
    
      </extension>
  • nuxeo-core-2023.14.23.jar /OSGI-INF/asyncdigest-listener-contrib.xml
    <extension point="schedule" target="org.nuxeo.ecm.core.scheduler.SchedulerService">
        <schedule id="blobManagerDeleteMarkedBlobsSchedule">
          <event>blobManagerDeleteMarkedBlobsEvent</event>
          <!-- every 15 minutes -->
          <cronExpression>0 0/15 * * * ?</cronExpression>
        </schedule>
      </extension>
  • nuxeo-retention-2023.3.6.jar /OSGI-INF/retention-schedulers.xml
    <extension point="schedule" target="org.nuxeo.ecm.platform.scheduler.core.service.SchedulerRegistryService">
        <schedule id="findRetentionExpired">
          <eventId>findRetentionExpired</eventId>
          <!-- every hour -->
          <cronExpression>0 0 * * * ?</cronExpression>
        </schedule>
      </extension>
  • nuxeo-core-cache-2023.14.23.jar /OSGI-INF/transientstore-service.xml
    <extension point="schedule" target="org.nuxeo.ecm.core.scheduler.SchedulerService">
        <schedule id="transientStoreGC">
          <eventId>transientStoreGCStart</eventId>
          <eventCategory>default</eventCategory>
          <!-- cleanup every 15 minutes -->
          <cronExpression>0 0/15 * * * ?</cronExpression>
        </schedule>
      </extension>
  • nuxeo-core-storage-sql-2023.14.23.jar /OSGI-INF/repo-softdelete-contrib.xml
    <extension point="schedule" target="org.nuxeo.ecm.core.scheduler.SchedulerService">
        <schedule id="softDeleteCleanup">
          <event>softDeleteCleanup</event>
          <!-- cleanup every 15 minutes -->
          <cronExpression>0 0/15 * * * ?</cronExpression>
        </schedule>
      </extension>
  • nuxeo-routing-core-2023.14.23.jar /OSGI-INF/document-routing-escalation-scheduler-contrib.xml
    <extension point="schedule" target="org.nuxeo.ecm.platform.scheduler.core.service.SchedulerRegistryService">
        <schedule id="escalationScheduler">
          <eventId>executeEscalationRules</eventId>
          <eventCategory>escalation</eventCategory>
          <!-- every 5 mins -->
          <cronExpression>0 0/5 * * * ?</cronExpression>
        </schedule>
      </extension>
  • nuxeo-liveconnect-2023.14.23.jar /OSGI-INF/liveconnect-scheduler-contrib.xml
    <extension point="schedule" target="org.nuxeo.ecm.core.scheduler.SchedulerService">
        <schedule id="blobProviderDocumentUpdate">
          <event>blobProviderDocumentUpdateEvent</event>
          <!-- cleanup every 30 sec  -->
          <!-- cronExpression>0/30 * * * * ?</cronExpression-->
          <!-- every day at 11.59 PM -->
          <cronExpression>0 0/5 * * * ?</cronExpression>
        </schedule>
      </extension>
  • nuxeo-routing-core-2023.14.23.jar /OSGI-INF/document-routing-cleanup-contrib.xml
    <extension point="schedule" target="org.nuxeo.ecm.platform.scheduler.core.service.SchedulerRegistryService">
    
        <schedule id="workflowInstancesCleanup">
          <eventId>workflowInstancesCleanup</eventId>
          <!-- every day at 11.59 PM -->
          <cronExpression>0 59 23 * * ?</cronExpression>
        </schedule>
    
      </extension>
  • nuxeo-platform-rendition-core-2023.14.23.jar /OSGI-INF/rendition-scheduler-contrib.xml
    <extension point="schedule" target="org.nuxeo.ecm.core.scheduler.SchedulerService">
        <schedule id="storedRenditionsCleanup">
          <event>storedRenditionsCleanup</event>
          <!-- every day at 11.59 PM -->
          <cronExpression>0 59 23 * * ?</cronExpression>
        </schedule>
      </extension>